Many radio communications systems that support packet data communications including, for example, Universal Mobile Telephony Systems (UMTS), incorporate some type of quality of service (QoS) into data traffic handling. In other words, certain types of data traffic have priority over other types. While data networks traditionally provide “best effort” service, some data applications require a higher quality of service than best effort. Examples of such applications include real-time data applications (IP telephony and videoconferencing), streaming data services (audio or video), or high quality data services (browsing with bounded download delays). When defining different quality of service classes or traffic classes in a mobile radio communications system, restrictions and limitations associated with the radio interface must be taken into account. For example, it is not advantageous to define complex QoS mechanisms, (as have been defined in fixed networks), because of the different and more difficult error characteristics of the radio interface.
In UMTS, there are four quality of service data classes including: a conversational class, a streaming class, an interactive class, and a background class. The main distinguishing factor between these quality of service classes is the delay sensitivity of the traffic. The conversational class is meant for very delay sensitive traffic, while the background class is the most delay insensitive traffic class. Conversational and streaming classes may be used to carry real-time traffic flows associated with conversational services. The interactive and background classes are mainly used by traditional Internet applications like web browsing, e-mail, etc. Because traffic in the interactive class has a higher priority than the priority of a background class of traffic, background applications use transmission resources only when interactive applications do not need them. This is particularly important in a radio environment where bandwidth resources are scarce compared to fixed networks.
When transmitting voice over an IP network, speech is digitally-encoded at the sending end and decoded at the receiving end. The devices which perform these speech coding and decoding operations are referred to as CODECs (COder-DECoders). While there are many techniques for speech coding, and therefore many different types of CODECs, some CODECs can be operated at different rates. For example, the GSM Adaptive Multi-Rate (AMR) CODEC, defined in GSM Specification 06.90, is a multi-mode CODEC that can operate in any of eight different modes with bit rates from 4.75 kbps to 12.2 kbps. The coder can change any of its modes in response to channel conditions and offers discontinuous transmission support such that the lowest bit rate appropriate under the circumstances is used and the bandwidth consumed during silent periods is reduced. An AMR CODEC is the coding choice for many third generation wireless systems like UMTS for this reason.
CODECs, such as AMR CODECs, provide a frame or “payload” of data that may carry different types or classes of data. Typically, the entire payload of data is treated the same as one traffic class. However, a “higher class” of payload data carrying high priority data should receive priority treatment, such as a higher quality of service or a higher degree of error protection. On the other hand, a lower class of data should receive a lower priority treatment such as a lower quality of service, a lower error protection, or no error protection at all. Thus, different parts of the coder payload should be handled differently. Therefore, if a higher traffic class is adopted for the entire payload, it is “wasted” on the lower priority data. Conversely, if a lower traffic class is adopted, the higher priority data is not serviced properly.
An objective of the present invention is to provide different services or treatments (such as different quality of service or error protection) to different portions of a payload. By treating different bits in a payload differently, the most important bits or the higher priority bits should be treated better, and therefore receive more resources, than less important or lower priority bits. In this way, differentiated services could be provided at the frame/payload level, which is an important feature in a system that provides multi-media services. Another objective is to provide differentiated treatment in away that uses the scarce radio bandwidth more efficiently, which is very important in radio communications systems. A further objective is to implement “unequal treatment” of payload data so that the architectural principles of wireless networks like UMTS and the Internet Protocol are preserved.
The present invention meets these and other objectives. Different bits in a payload of data may be transmitted from a sending application using different classes of treatment. The payload of data is divided into a first group of bits associated with a first treatment class and a second group of bits associated with a second treatment class. A first packet is created which includes the first group of bits as well as a first header that identifies the first packet with the first treatment class. Similarly, a second packet is created that includes the second group of bits and second header that identifies the second packet with the second treatment class. The first packet is mapped to a first communications bearer, e.g., a radio bearer, configured to support the first treatment class using the first header. Similarly, the second packet is mapped to a second communications bearer configured to support the second treatment class using the second header.
In different example embodiments or implementations, the payload dividing operation may occur at an application processing layer or it may occur at an Internet Protocol (IP) processing layer. Since the first and second communications bearers are configured to support different treatment classes, (such as different qualities of service, different error protection schemes, etc.), different bits in the payload receive different treatment over the radio interface. Moreover, the first and second headers include information that permits a receiver to reassemble the payload with the first and second packets in a correct sequence. If an error correction scheme is identified in the header of either the first or second packets, the receiver is also able to implement that error correction scheme to correct any errors in the first or second packets.
Different types of headers may be used. For example, existing Internet protocol headers may be employed, and the mapping of a packet to a corresponding communications bearer may be determined using a standard IP header field. A specific, non-limiting, example embodiment is described below where the first and second IP packets are IP version 6 (IPv6) packets, and the mapping of each packet to a corresponding communications bearer is determined using the flow label of the IP header.
Alternatively, the mapping of each packet to a corresponding communications bearer may be determined using a combination of source and destination addresses, a transport layer protocol, and/or a port number in the packet's header. Another example application is to Real-time Transport Protocol (RTP) packets. First and second headers are RTP headers which include an RTP extension indicating one of the treatment classes. Accordingly, the mapping of an RTP packet to a corresponding communications bearer is determined using the RTP extension of the RTP packet.
The first and second IP headers alternatively may each include a destination option field. In this case, the mapping of each packet to a corresponding communications bearer is determined using the destination option of the packet.
Because it is important to conserve bandwidth and because breaking up a payload of data typically results in smaller packets, it is advantageous (but not necessary) to compress each packet header.
A non-limiting, example application of the present invention is described below which provides different levels of error protection in a UMTS-type communications system.